package main

import (
	"flag"
	"fmt"
	"multi-cloud-manage/config"
	"multi-cloud-manage/internal/database"
	"multi-cloud-manage/routes"

	"github.com/gin-gonic/gin"
)

func main() {
	// 初始化数据库
	database.InitDB()

	// 定义命令行参数，用于接收mode
	mode := flag.String("mode", "debug", "为服务器开启模式(test/release/debug)")
	flag.Parse() // 解析命令行参数
	// 设置模式
	switch *mode {
	case "test":
		gin.SetMode(gin.TestMode)
	case "release":
		gin.SetMode(gin.ReleaseMode)
	default:
		gin.SetMode(gin.DebugMode)
	}
	// 获取配置信息
	config := config.GetConfig()
	// 启动路由
	r := routes.SetupRoutes()
	// 设置端口
	// fmt.Println("服务器启动成功")
	// 从配置中获取端口
	r.Run(fmt.Sprintf(":%v", config.Server.Port))
}
